package com.by.result;

/**
 * 通用结果状态码定义类，用于统一管理接口返回的状态码。
 */
public class ResultCode {

    // === 成功 ===
    public static final int SUCCESS = 200;                // 请求成功

    // === 客户端错误 ===
    public static final int BAD_REQUEST = 400;            // 请求参数错误（语法格式错误）
    public static final int VALIDATE_FAILED = 422;        // 参数校验失败（常用于字段验证）
    public static final int UNAUTHORIZED = 401;           // 未认证（未登录或token失效）
    public static final int FORBIDDEN = 403;              // 没有权限
    public static final int NOT_FOUND = 404;              // 请求的资源不存在
    public static final int METHOD_NOT_ALLOWED = 405;     // 请求方法不被允许
    public static final int REQUEST_TIMEOUT = 408;        // 请求超时
    public static final int TOO_MANY_REQUESTS = 429;      // 请求过多被限流

    // === 服务器错误 ===
    public static final int FAIL = 500;                   // 服务端内部错误
    public static final int NOT_IMPLEMENTED = 501;        // 服务未实现
    public static final int BAD_GATEWAY = 502;            // 网关错误
    public static final int SERVICE_UNAVAILABLE = 503;    // 服务不可用（维护中）
    public static final int GATEWAY_TIMEOUT = 504;        // 网关超时

    // === 自定义业务错误码（建议 1000 起）===
    public static final int BUSINESS_ERROR = 1000;        // 通用业务异常
    public static final int DATA_EXIST = 1001;            // 数据已存在
    public static final int DATA_NOT_EXIST = 1002;        // 数据不存在
    public static final int LOGIN_FAILED = 1003;          // 登录失败
    public static final int TOKEN_EXPIRED = 1004;         // token过期
    public static final int PERMISSION_DENIED = 1005;     // 权限不足
    public static final int ILLEGAL_OPERATION = 1006;     // 非法操作
    public static final int UPLOAD_FAILED = 1007;         // 文件上传失败
    public static final int SELECT_USER_FAILED = 1008;    // 查询用户信息失败

    // TODO...你可以继续添加更多业务相关状态码
}